// 页面加载的时候
// 1.从缓存中获取购物车数据 渲染到页面中 这些数据checked=true
// 2.微信支付 那些人 哪些账号 可以实现微信支付 
    // 1.企业账号
    // 2.企业账号的小程序后台中 必须给开发者添加白名单
      //  1.一个appid可以同时绑定多个开发者
      //  2.这些开发者就可以公用
  // 获取订单编号
  // 先获取用户登录成功后token值
// 3.支付按钮
  // 1.先判断缓存中有没有token
  // 2.没有跳转到授权页面 进行获取token
  // 3.有token直接支付
  // 4.
Page({
  data: {
    Address:{},
    cart:[],
    totalPrice:0,
    totalNum:0
  },
  // 点击支付功能
  handleOrderPay(){
    // 获取到缓存中的token
    const token =wx.getStorageSync("token")
    // 判断有没有token
    if(!token){
      wx.navigateTo({
        url: '/pages/auth/index',
      });
      return
    }
    // 创建订单
      // 1. 准备 请求头参数 
      const hearder = {Authorization:token}
      // 2.准备 请求体参数
      const order_price =this.data.totalPrice
      const consignee_addr =this.data.Address
      // 3.遍历购物车数组
      const cart =this.data.cart
      let goods = []
      cart.forEach(v=>goods.push({
        goods_id:v.goods_id,
        goods_number:v.num,
        goods_price:v.goods_price
      }))
      // const params = {order_price,consignee_addr,goods}
      // 4.发送请求创建订单编号
      // request({url:"/Getcata",data:params,method:"post",hearder}).then(request => {
      //   const {order_number} = request
      // })
      // 订单编号
        const order_number = "qwer987654321"
      // 5.发起预支付请求
      // request({url:"/Getcata",data:order_number,method:"post",hearder}).then(request => {
        // const {pay} = request  // 预支付数据  
      // }) 
      // 6.发起微信支付
      // wx.requestPayment({
      //   timeStamp: 'pay.timeStamp',
      //   nonceStr: 'pay.nonceStr',
      //   package: 'pay.package',
      //   signType: 'pay.signType',
      //   paySign: 'pay.paySign',
      //   success: (result)=>{
      //     console.log(result)
      //   },
      //   fail: (err)=>{
      //     console.log(err+"错误")
      //   },
      // });
      // 7.查询订单状态
      // request({url:"/Getcata",data:order_number,method:"post",hearder}).then(request => {
          // if("支付成功"){
          //   wx.showToast({
          //     title: '支付成功',
          //     duration: 1500,
          //     mask: false,
          //     success: (result)=>{
          //       // 跳转订单详情页
          //       wx.navigateTo({
          //         url: '/pages/order/index',
          //       });
          //     },
          //   });
          // }else{
          //   wx.showToast({
          //     title: "支付失败",
          //     duration: 1500,
          //   })
          // }
      // }) 
      // 8.手动删除缓存中已经支付了的商品 重新获取购物车数组
        // let newCart = wx.getStorageSync("cart"); 
        //     // 过滤掉留下没有被选中的
        // newCart=newCart.filter(v=>!v.checked) 
        // //重新存到缓存中
        // wx.setStorageSync("cart", newCart);
      // 已成功为例  跳转订单详情页面
      wx.showToast({
        title: '支付成功',
        duration: 1500,
        mask: false,
      });
      // 跳转订单详情页
      setTimeout(() => {
        wx.navigateTo({
          url: '/pages/order/index',
        });
     }, 1500);
  },

  onShow: function () {
    // 获取本地Address地址
    const Address = wx.getStorageSync("address");
    // 获取到本地存储中的商品数组 回到商品首页详情页面 第一次添加商品的时候 手动添加了属性// num=1  checked=true
    let cart = wx.getStorageSync("cart")||[]; 
    // 过滤后的购物车数组
    cart =cart.filter(v=>v.checked);
    // 方法调用过滤后的购物车数组
    let totalPrice = 0
    let totalNum = 0
    cart.forEach(v =>{
        totalPrice +=v.num * v.goods_price;
        totalNum += v.num
      })
    this.setData({
      cart,
      totalPrice,
      totalNum,
      Address
    })
  },
})